// 用户信息/token
// 用户信息 类型
// userStore
// 用户信息/ 设置用户信息 / 删除用户信息
// 抛出 userStore
// 测试 userStore
import type { User } from '@/types/user'
import { defineStore } from 'pinia'
import { ref } from 'vue'

export const useUserStore = defineStore(
  'cp-user',
  () => {
    const user = ref<User>()

    const setUser = (u: User) => {
      user.value = u
    }

    const delUser = () => {
      user.value = undefined
    }
    return { user, setUser, delUser }
  },
  {
    // 所有数据持久化
    persist: true
    // 持久化存储插件其他配置
    // persist: {
    //   // 修改存储中使用的键名称，默认为当前 Store的 id
    //   key: 'storekey',
    //   // 修改为 sessionStorage，默认为 localStorage
    //   storage: window.sessionStorage,
    //   // 部分持久化状态的点符号路径数组，[]意味着没有状态被持久化(默认为undefined，持久化整个状态)
    //   paths: ['user.id'],
    // }
  }
)
